iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0
自我挑戰組

Practice again& again.系列 第 22

Android - Composable function

  • 分享至 

  • xImage
  •  

Android - Composable function

原有程式碼抽取為 Composable Function

  • 開啟 MainActivity.kt,目的為將先前章節建立的 Compose UI 內容抽取為function,選取下方 setContent {...} 中的程式碼,點選右鍵 →「Refactor」→「Function」

    class MainActivity : ComponentActivity() {
      override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            //將下列UI元件抽取為Composable function
            Box(
                modifier = Modifier
                    .fillMaxSize(),
                contentAlignment = Alignment.Center
            ) {
                Text(
                    text = "Hello World!"
                )
            }
        }
      }
    }
    

    01

  • 上個階段的程式碼已被抽取為 Composable Function 並暫以綠底標註,按 Enter 鍵完成(若取消則按 Esc 鍵返回)

    02

  • Composable Function 命名規則為大駝峰,故更變預設 function 名稱:

    override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)
      setContent {
          //更變 Composable Function 名稱
          Greeting() 
      }
    }
    
    @Composable
    private fun Greeting() { //更變 Composable Function 名稱
        Box(
            modifier = Modifier
                .fillMaxSize(),
            contentAlignment = Alignment.Center
        ) {
            Text(
                text = "Hello World!"
            )
        }
    }
    
  • 預覽 Composable Function:

    新增包含 Annotation @Preview 的 Composable Function

    @Preview(showBackground = true)
    @Composable
    private fun GreetingPreview() {
        Greeting()
    }
    

    點選「Split」預覽畫面:

    03

  • 啟動專案:畫面如預期呈現

    04


上一篇
Android - 使用 Fragment (for Layout XML)
下一篇
Android - Activity 互動
系列文
Practice again& again.30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言